home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / gedit-2 / plugins / pythonconsole / config.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  4.7 KB  |  94 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os
  5. import gtk
  6. import gconf
  7. __all__ = ('PythonConsoleConfig', 'PythonConsoleConfigDialog')
  8. GCONF_KEY_BASE = '/apps/gedit-2/plugins/pythonconsole'
  9. GCONF_KEY_COMMAND_COLOR = GCONF_KEY_BASE + '/command-color'
  10. GCONF_KEY_ERROR_COLOR = GCONF_KEY_BASE + '/error-color'
  11. DEFAULT_COMMAND_COLOR = '#314e6c'
  12. DEFAULT_ERROR_COLOR = '#990000'
  13.  
  14. class PythonConsoleConfig(object):
  15.     
  16.     def __init__(self):
  17.         pass
  18.  
  19.     
  20.     def add_handler(handler):
  21.         gconf.client_get_default().notify_add(GCONF_KEY_BASE, handler)
  22.  
  23.     add_handler = staticmethod(add_handler)
  24.     color_command = property((lambda self: self.gconf_get_str(GCONF_KEY_COMMAND_COLOR, DEFAULT_COMMAND_COLOR)), (lambda self, value: self.gconf_set_str(GCONF_KEY_COMMAND_COLOR, value)))
  25.     color_error = property((lambda self: self.gconf_get_str(GCONF_KEY_ERROR_COLOR, DEFAULT_ERROR_COLOR)), (lambda self, value: self.gconf_set_str(GCONF_KEY_ERROR_COLOR, value)))
  26.     
  27.     def gconf_get_str(key, default = ''):
  28.         val = gconf.client_get_default().get(key)
  29.         if val is not None and val.type == gconf.VALUE_STRING:
  30.             return val.get_string()
  31.         return default
  32.  
  33.     gconf_get_str = staticmethod(gconf_get_str)
  34.     
  35.     def gconf_set_str(key, value):
  36.         v = gconf.Value(gconf.VALUE_STRING)
  37.         v.set_string(value)
  38.         gconf.client_get_default().set(key, v)
  39.  
  40.     gconf_set_str = staticmethod(gconf_set_str)
  41.  
  42.  
  43. class PythonConsoleConfigDialog(object):
  44.     
  45.     def __init__(self, datadir):
  46.         object.__init__(self)
  47.         self._dialog = None
  48.         self._ui_path = os.path.join(datadir, 'ui', 'config.ui')
  49.         self.config = PythonConsoleConfig()
  50.  
  51.     
  52.     def dialog(self):
  53.         if self._dialog is None:
  54.             self._ui = gtk.Builder()
  55.             self._ui.add_from_file(self._ui_path)
  56.             self.set_colorbutton_color(self._ui.get_object('colorbutton-command'), self.config.color_command)
  57.             self.set_colorbutton_color(self._ui.get_object('colorbutton-error'), self.config.color_error)
  58.             self._ui.connect_signals(self)
  59.             self._dialog = self._ui.get_object('dialog-config')
  60.             self._dialog.show_all()
  61.         else:
  62.             self._dialog.present()
  63.         return self._dialog
  64.  
  65.     
  66.     def set_colorbutton_color(colorbutton, value):
  67.         
  68.         try:
  69.             color = gtk.gdk.color_parse(value)
  70.         except ValueError:
  71.             pass
  72.  
  73.         colorbutton.set_color(color)
  74.  
  75.     set_colorbutton_color = staticmethod(set_colorbutton_color)
  76.     
  77.     def on_dialog_config_response(self, dialog, response_id):
  78.         self._dialog.destroy()
  79.  
  80.     
  81.     def on_dialog_config_destroy(self, dialog):
  82.         self._dialog = None
  83.         self._ui = None
  84.  
  85.     
  86.     def on_colorbutton_command_color_set(self, colorbutton):
  87.         self.config.color_command = colorbutton.get_color().to_string()
  88.  
  89.     
  90.     def on_colorbutton_error_color_set(self, colorbutton):
  91.         self.config.color_error = colorbutton.get_color().to_string()
  92.  
  93.  
  94.